Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

повторное url-кодирование при редиректе в mod_rewrite (poskrobka_alexandr)
Author Message
poskrobka_alexandr
Участник форума



Joined: 28 Nov 2009
Posts: 23
Карма: 0
   поощрить/наказать

Location: Минск

PostPosted: Sat Nov 28, 2009 11:06 am (написано за 4 минуты 47 секунд)
   Post subject: повторное url-кодирование при редиректе в mod_rewrite
Reply with quote

при редиректе с www.test.com на test.com ссылки вида (находятся в рейтинге поисковика) www.test.com/?k=%c2%c2%c2 преобразуются в ссылки вида test.com/?k=%25c2%25c2%25c2 т.е все кирилические символы преобразуются из %с2 в %25с2 где можно почитать про такой баг и может кто сталкивался с таким? Что происходит при редиректе?
Back to top
View user's profile Send private message
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 198
   поощрить/наказать

Location: 007 495

PostPosted: Sat Nov 28, 2009 10:42 pm (спустя 11 часов 35 минут; написано за 1 минуту 3 секунды)
   Post subject:
Reply with quote

poskrobka_alexandr wrote:
Что происходит при редиректе?
Забавно, у меня то же самое, оказывается :). По какой-то причине все данные url-кодируются ещё один раз.

У меня используется такой код для редиректа:
Code (Apache config): скопировать код в буфер обмена
RewriteEngine On
RewriteRule (.*) http://test.com/$1 [R,L,QSA]
Попробуйте поиграться с флагами.
Back to top
View user's profile Send private message Send e-mail
poskrobka_alexandr
Участник форума



Joined: 28 Nov 2009
Posts: 23
Карма: 0
   поощрить/наказать

Location: Минск

PostPosted: Sun Nov 29, 2009 2:38 pm (спустя 15 часов 56 минут; написано за 1 минуту 30 секунд)
   Post subject:
Reply with quote

Я использую такое правило для редиректа

RewriteEngine on
RewriteCond %{HTTP_HOST} www.test.com$
RewriteRule ^(.*)$ test.com/$1 [NC,R=301,L]

- указанное вами не заработало вовсе (какой-то бесконечный редирект получается)
Back to top
View user's profile Send private message
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 198
   поощрить/наказать

Location: 007 495

PostPosted: Sun Nov 29, 2009 3:23 pm (спустя 44 минуты; написано за )
   Post subject:
Reply with quote

Ну, мое правило было прописано для конкретно www.test.com, так что все ок :). Попробуйте убрать все флаги кроме R...
Back to top
View user's profile Send private message Send e-mail
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 198
   поощрить/наказать

Location: 007 495

PostPosted: Sun Nov 29, 2009 3:37 pm (спустя 13 минут; написано за )
   Post subject:
Reply with quote

Кстати, может быть этот баг вызван тем, что у Вас старый апач и мод_реврайт? Также интересен вопрос, что будет, если поместить те же строки не в .htaccess, а в httpd.conf непосредственно. Логика работы в этих случаях существенно отличается.
Back to top
View user's profile Send private message Send e-mail
poskrobka_alexandr
Участник форума



Joined: 28 Nov 2009
Posts: 23
Карма: 0
   поощрить/наказать

Location: Минск

PostPosted: Sun Nov 29, 2009 4:13 pm (спустя 36 минут; написано за 4 минуты 2 секунды)
   Post subject:
Reply with quote

Убрал все флаги кроме R - результат тот же. Доступ у меня только к .htaccess. Локальная версия сайта давно не соответствует реальной. Видимо придётся и у хостинг провайдера интересоваться тонкостями конфигурации и может самому локальную версию поставить и вникать глубоко. Думал быстро разберусь (( .
Back to top
View user's profile Send private message
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 198
   поощрить/наказать

Location: 007 495

PostPosted: Sun Nov 29, 2009 4:17 pm (спустя 3 минуты; написано за )
   Post subject:
Reply with quote

Кстати, Вы пробовали флаг NE (если такой существует)?
Back to top
View user's profile Send private message Send e-mail
poskrobka_alexandr
Участник форума



Joined: 28 Nov 2009
Posts: 23
Карма: 0
   поощрить/наказать

Location: Минск

PostPosted: Sun Nov 29, 2009 5:09 pm (спустя 51 минуту; написано за 5 минут 44 секунды)
   Post subject:
Reply with quote

Добавил флаг NE. Вроде бы всё стало ок!!!

Работающтй вариант выглядит так в .htaccess:

RewriteEngine on
RewriteCond %{HTTP_HOST} www.test.com$
RewriteRule ^(.*)$ test.com/$1 [NE,R=301,L]

Вообще за пару дней будет видно.

Выражаю признательность вам Юрий за подсказанное решение и участие.
И может подскажете стоит ли при создании сайта сразу же такой делать редирект? (c www домена на без www)
Преимущества как я вижу
1) не делиться поисковый индекс между этими доменами
2) нет проблем с установкой куки для разных доменов
Back to top
View user's profile Send private message
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 198
   поощрить/наказать

Location: 007 495

PostPosted: Sun Nov 29, 2009 5:53 pm (спустя 44 минуты; написано за 22 секунды)
   Post subject:
Reply with quote

poskrobka_alexandr wrote:
И может подскажете стоит ли при создании сайта сразу же такой делать редирект? (c www домена на без www)
Однозначно — стоит! Я сам так всегда делаю :)
Back to top
View user's profile Send private message Send e-mail
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 198
   поощрить/наказать

Location: 007 495

PostPosted: Sun Nov 29, 2009 5:56 pm (спустя 2 минуты)
   Post subject:
Reply with quote


М

Перенесено из форума: Прочее.
Перенесено в форум: Полезные советы :: Денвер.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML